<html><head><title>MD5Fingerprint</title></head>
<body bgcolor="#FFFFDF" link="#009999" vlink="#006666" alink="#006666">
<font face="Arial" size="2"><p align="center"><b><font size="4">MD5Fingerprint()</font></b></p>
<p><b>Syntax</b></p><blockquote>
Result$ = <font color="#006666"><b>MD5Fingerprint</b></font>(*Buffer, Size)</blockquote>

</blockquote>
<b>Description</b><br><blockquote>

Returns a 32 characters long MD5 (Message Digest 5) hash code for the given buffer. 

</blockquote><p><b>Parameters</b></p><blockquote>
<style type="text/css">
table.parameters { border-spacing: 0px; border-style: none; border-collapse: collapse; }
table.parameters td { border-width: 1px; padding: 6px; border-style: solid; border-color: gray; vertical-align: top; font-family:Arial; font-size:10pt; }
</style>
<table width="90%" class="parameters">
<tr><td width="10%"><i>*Buffer</i></td>
<td width="90%"> 
The buffer containing the data to be hashed. 

</td></tr>
<tr><td><i>Size</i></td>
<td> 
The size of the given buffer. 

</td></tr>
</table>
</blockquote><p><b>Return value</b></p><blockquote>

Returns the hash code as a string. 

</blockquote><p><b>Remarks</b></p><blockquote>

Here is a quick explanation taken from the RFC 1321 on MD5: 
<br>
<br>
'The algorithm takes as input a message of arbitrary length and produces 
as output a 128-bit "fingerprint" or "message digest" of the input. 
It is conjectured that it is computationally infeasible to produce 
two messages having the same message digest, or to produce any 
message having a given pre-specified target message digest. The MD5 
algorithm is intended for digital signature applications.' 
<br>
<br>
MD5 hashs are often used for password encryption, providing a very strong and 
standard protection. More information can be found in the RFC 1321: 
<a href="http://www.ietf.org/rfc/rfc1321.txt">http://www.ietf.org/rfc/rfc1321.txt</a>. 

</blockquote><p><b>Example:</b> string as memory buffer</p><blockquote>

<pre><font face="Courier New, Courier, mono"size="2">  test.s = "This is a test string!"
  <b><font color="#006666">Debug</font></b> <font color="#006666">MD5Fingerprint</font>(@test,<font color="#006666"> StringByteLength</font>(test))
</font></pre>

</blockquote><p><b>Example:</b> with memory buffer</p><blockquote>

<pre><font face="Courier New, Courier, mono"size="2">  *Buffer =<font color="#006666"> AllocateMemory</font>(500)    
  <b><font color="#006666">If</font></b> *Buffer
<font color="#006666">    PokeS</font>(*Buffer, "The quick brown fox jumps over the lazy dog.")
    MD5$ =<font color="#006666"> MD5Fingerprint</font>(*Buffer,<font color="#006666"> MemorySize</font>(*Buffer))
    <b><font color="#006666">Debug</font></b> "MD5 Fingerprint = " + MD5$
<font color="#006666">    FreeMemory</font>(*Buffer)  <font color="#006666">; would also be done automatically at the end of the program</font>
  <b><font color="#006666">EndIf</font></b>
</font></pre>

</blockquote><p><b>See Also</b></p><blockquote>

<a href="md5filefingerprint.html">MD5FileFingerprint()</a>, <a href="examinemd5fingerprint.html">ExamineMD5Fingerprint()</a>, 
<a href="sha1fingerprint.html">SHA1Fingerprint()</a>, <a href="crc32fingerprint.html">CRC32Fingerprint()</a> 

</Blockquote><p><b>Supported OS </b><Blockquote>All</Blockquote></p><center><- <a href=md5filefingerprint.html>MD5FileFingerprint()</a> - <a href=index.html>Cipher Index</a> - <a href=nextfingerprint.html>NextFingerprint()</a> ->

</body></html>